1. Field of the Invention
The present invention relates generally to the transmission of information across the Internet, and more specifically to methods, systems, and apparatus for rapid, real-time transmission of information across the Internet and within networks and networked systems.
2. Description of the Related Art
Many Internet based applications require rapid transmission and exchange of data for effective implementation. By way of example, H323 Internet video conferencing provides rapid, real time data exchange to present video and audio data for participants in local and remote settings. Typically, to realize the benefits of necessary rapid data exchange, data is transmitted over unreliable User Datagram Protocol/Internet Protocol (UDP/IP). The advantage of using the unreliable UDP over the reliable Transmission Control Protocol (TCP, also TCP/IP) is primarily an advantage of speed. UDP has less overhead since it does not transmit packet acknowledgement, packet verification, requests for packet re-transmission, etc. In real time media transmission and play-back, such transmissions and verification processes impact the overall system performance severely.
TCP serves as essentially the standard for most Internet data transmission. TCP maintains the highest degree of reliability by ensuring all data is received, received in the correct order, and that the data received is accurate and consistent with the data that was transmitted. In many applications, such reliability is paramount for effective data transmission. The highest degree of reliability, however, is not necessary for all Internet data transmission. In such applications as H323 Internet video conferencing, for example, speed is paramount. Most applications can easily compensate for occasionally missed audio data, which is generally imperceptible, and similarly, occasionally missed or garbled video data is generally easily tolerated and of little hindrance to video conferencing sessions.
FIG. 1 is a system schematic 10 of an exemplary video conferencing system arrangement illustrating various data exchange paths. Participants 12 exchange audio, video, and other media data, with each other, and often with a video conferencing or other data server 14. In such an arrangement, data exchange can be peer-to-peer 16, client-server 18, and various combinations thereof. In a typical Internet based arrangement, initial set-up and control data such as client set-up, parameter and capability for exchange, and the like, is established using TCP, and then video conferencing media would be exchanged using UDP. For example, during set-up using TCP, a port or range of ports may be designated for UDP data exchange, and then conferencing is conducted using UDP and the designated port or range of ports.
In the environment of required network and Internet security, many firewalls block or deny all incoming Internet traffic except TCP/IP. FIG. 2 shows system schematic 10 illustrated in FIG. 1 with the added features of participant firewalls 20 and data server firewall 22. In an environment in which participants 12 are all within discreet networks or locations, data exchange might be across one or more firewalls 20, 22 whether that exchange is peer-to-peer 16 or client-server 18.
When rapid, real-time transmission is desired, a firewall can and often does limit or prevent desired video conferencing capability. If a particular firewall blocks or denies all incoming Internet traffic except TCP/IP, video conferencing or other data exchange must be conducted using highly reliable, but much slower, TCP/IP, or some work-around must be established to conduct UDP data transmission and exchange. Typical solutions include designating specific ports during set-up for UDP data exchange. By way of example, an H323 session may be established with any port greater than 1028 designated for UDP data exchange. Some firewalls are designed and implemented having certain ports designated for media exchange and allowing UDP data, and some firewalls block all UDP and TCP ports except for TCP port 80, which is the designated HyperText Transfer Protocol (HTTP) port. Problems with such configurations include the lack of standardization across the various kinds and types of firewalls available, and that such work-arounds ultimately defeat the security of the firewall.
In view of the foregoing, what is needed is a method and system of Internet data exchange with the access of TCP/IP packet transmission, and with the speed and function of UDP data transmission.